﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data.Linq.Mapping;
using System.Runtime.Serialization;

namespace RaisingStudio.Data.Entities
{
    /// <summary>
    /// Issue
    /// </summary>
    [Serializable]
    [DataContract]
    [Table(Name = "DAC_ISSUE")]
    partial class Issue
    {
        #region Members

        private int _IssueID;
        /// <summary>
        /// IssueID
        /// </summary>
        [Description("IssueID")]
        [DataMember]
        [Column(Name = "ISSUE_ID", DbType="BIGINT", CanBeNull = false, IsDbGenerated=true, IsPrimaryKey = true)]
        public int IssueID
        {
          get 
          {
              return this._IssueID;
          }
          set 
          {
              this._IssueID = value;
          }
        }


        private string _Title;
        /// <summary>
        /// Title
        /// </summary>
        [Description("Title")]
        [DataMember]
        [Column(Name = "ISSUE_TITLE", CanBeNull = false)]
        public string Title
        {
          get 
          {
              return this._Title;
          }
          set 
          {
              this._Title = value;
          }
        }


        private string _Description;
        /// <summary>
        /// Description
        /// </summary>
        [Description("Description")]
        [DataMember]
        [Column(Name = "ISSUE_DESC")]
        public string Description
        {
          get 
          {
              return this._Description;
          }
          set 
          {
              this._Description = value;
          }
        }


        private IssueStatus _Status;
        /// <summary>
        /// Status
        /// </summary>
        [Description("Status")]
        [DataMember]
        [Column(Name = "ISSUE_STS", DbType="BIGINT", CanBeNull = false)]
        public IssueStatus Status
        {
          get 
          {
              return this._Status;
          }
          set 
          {
              this._Status = value;
          }
        }


        private IssueType? _IssueType;
        /// <summary>
        /// IssueType
        /// </summary>
        [Description("IssueType")]
        [DataMember]
        [Column(Name = "ISSUE_TYP", DbType="String")]
        public IssueType? IssueType
        {
          get 
          {
              return this._IssueType;
          }
          set 
          {
              this._IssueType = value;
          }
        }


        private string _Owner;
        /// <summary>
        /// Owner
        /// </summary>
        [Description("Owner")]
        [DataMember]
        [Column(Name = "ISSUE_OWNR")]
        public string Owner
        {
          get 
          {
              return this._Owner;
          }
          set 
          {
              this._Owner = value;
          }
        }


        private decimal? _Progress;
        /// <summary>
        /// Progress
        /// </summary>
        [Description("Progress")]
        [DataMember]
        [Column(Name = "ISSUE_PRGS")]
        public decimal? Progress
        {
          get 
          {
              return this._Progress;
          }
          set 
          {
              this._Progress = value;
          }
        }


        private DateTime _CreateTime;
        /// <summary>
        /// CreateTime
        /// </summary>
        [Description("CreateTime")]
        [DataMember]
        [Column(Name = "CREATE_TM", CanBeNull = false)]
        public DateTime CreateTime
        {
          get 
          {
              return this._CreateTime;
          }
          set 
          {
              this._CreateTime = value;
          }
        }


        private bool? _Locked;
        /// <summary>
        /// Locked
        /// </summary>
        [Description("Locked")]
        [DataMember]
        [Column(Name = "ISSUE_LOCKED")]
        public bool? Locked
        {
          get 
          {
              return this._Locked;
          }
          set 
          {
              this._Locked = value;
          }
        }

        #endregion
    }
}
